There are a variety of methods for sequencing nucleic acid molecules. Historically, the most common methods have been based on chemical (Maxam and Gilbert sequencing) or enzymatic (Sanger dideoxy sequencing and exonuclease-based sequencing) reactions that create specific truncated nucleic acid molecules that are then separated by electrophoretic techniques in order to determine their relative length. More recently, potentially higher throughput techniques, including pyro-sequencing and hybridization-based sequencing methods, have been developed. It has also been proposed that scanning tunneling microscopy could be used to directly visualize the sequence of a nucleic acid molecule.